package Persistence;

/**
 * @author shkstart
 * @date 2019/5/30 - 10:49
 */
/*构造方法：用来初始化 java 类，提供类的初始化和实例化，以便调用。
 * new一个对象的时候要用到构造函数,例如Hello hello = new Hello();这时调用的是Hello的无参数构造方法;
 * Hello hello = new Hello("hi");
 * 这个是调用Hello有参数构造方法,在JAVA中如果不写构造方法的话,会默认加上一个无参数的构造方法,
 * 但是如果已经有了一个有参数的构造方法,那么无参数的构造方法就不会默认被加上.
 * 如果Hello类中已经有了一个有参数的构造方法,这时再使用Hello hello = new Hello();
 * 来创建对象的时候就会出错,这就是为什么书上要强调写了有参数的构造方法就最好加一个无参数的构造方法。*/

/*参见笔记本：————————（面向对象的封装性）封装的好处
 *1、所有属性所有化，用private修饰
 *2、对外提供简单入口，要想访问就要通过入口进行
 * 3、set，get方法*/

//私有属性使用要有公开的set和get方法操作：可以这么理解：set-写、get-读


//要求实体类有属性作为唯一值（一般使用id值）
public class User {
    private Integer id;
    /*实体类属性建议不使用基本数据类型，使用基本数据类型对应的包装类
（1）八个基本数据类型对应的包装类
- int – Integer、
- char—Character、
- 其他的都是首字母大写 比如 double – Double
*/
    private String username;
    private String sex;
    private String address;
    private String single;

    public User() {
        /*无参构造器*/

    }

    public User(Integer id, String username, String sex, String address, String single) {

        /*有参构造器*/
        this.address = address;
        this.id = id;
        this.sex = sex;
        this.username = username;
        this.single = single;
    }

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getSex() {
        return sex;
    }

    public void setSex(String sex) {
        this.sex = sex;
    }

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }

    public String getSingle() {
        return single;
    }

    public void setSingle(String single) {
        this.single = single;
    }

    @Override
    public String toString() {
        return "User{" +
                "id=" + id +
                ", username='" + username + '\'' +
                ", sex='" + sex + '\'' +
                ", address='" + address + '\'' +
                ", single='" + single + '\'' +
                '}';
    }
//    @Override
//    public String toString() {
//        return "User{" +
//                "id='" + id + "'" +
//                ", name= '" + username + '\'' +
//                ", sex= '" + sex + '\'' +
//                ", address='" + address + '\'' +
//                ", single='" + single + '\'' +
//                '}';
//    }
}
/*转义字符  \'  表示单引号
 *          \''表示双引号*/

